In a typical Microsoft remote desktop services configuration, a user that is positioned at a first computer (client) is provided with the user interface of desktops and applications running in a remote desktop session on a second computer (host) across a network. The computers are generally presumed to be located at some distance from one another.
The Microsoft Windows operating system generally groups user-program processes (threads and resources) by session identifiers. Session 0 is reserved for services and does not support interactive processes (i.e. graphical user interface (GUI) elements and user input devices). Processes are further separated within sessions by named Windows Stations. The first named station in each session is “Winsta0” and it is the only station in a session that can display a user interface and receive user input. Processes are divided within each station by a collection of Windows Desktops, or logical display surfaces. Only one desktop can be active at a time and is called the input desktop. Station Winsta0 has four desktops: Winlogon (the Logon screen), Default (the user desktop), ScreenSaver, and Secure Desktop (UAC prompts).
During a remote desktop connection, the Microsoft Windows Remote Desktop server hosts the remote user's desktop in a separate and secure Windows session. For security reasons, particularly since the host is presumed to be quite remote from the client, the active user is switched to the Windows Logon desktop in the interactive station Winsta0. This forces the local display on the Remote Desktop host computer to show only the Logon screen, effectively masking activity in the remote desktop session. Since only one desktop at a time can be given interactive control, human interface devices (HID) on the host machine, including keyboards and mice, have their input redirected to this Logon screen input desktop. This prevents device interference with the activities occurring within other hosted desktop sessions. Inputs to the hosted desktop arrive instead from the devices attached to the client computer. Client hardware input events directed into the GUI of the remote desktop connection client are forwarded to the host remote desktop session as special remote desktop keyboard and mouse devices. They operate within the remote desktop session as if similar devices were physically connected to the host session.
A network projector configured as a remote desktop client may establish remote desktop connections to host computers on the network for obtaining views of their desktops for display output by the projector. The resulting display output will be similar to results obtained by direct cabling of those same computers' video output ports to the projector's video inputs. However, in this remote desktop configuration the network allows easier access to any number of computers. Wireless networks may further reduce cabling requirements between network projectors and PCs making the process more convenient. And remote desktop connections can provide added freedom in selecting or matching output resolution among the connecting devices.
However, unlike conventional remote desktop configurations, a projector does not generally have a keyboard and mouse interface. This discourages their use for making typical remote desktop connections. Even if such device interfaces are provided, manipulating a desktop display output by a projector can prove difficult as the projected content could be positioned behind the presenting user. Operating keyboard and mouse interfaces connected to a projector may also restrict a presenter's movement as the operating range of those devices relative to the projector may be limited.
In some operating systems, a streaming feature is provided for a computer to connect with a remote projector and transmit views of the computer's desktop to the projector for display output. Unlike a remote desktop connection, the transmitting computer's input devices and display maintain interaction with and views of the computer's desktop. The performance of this feature, however, is much lower than can be obtained through a conventional remote desktop connection that can optimize the communication to reduce delays, provide better image quality, and support smooth animation and video. Also, this feature may force changes to the computer's desktop resolution in order to match the projector's output capabilities. The new resolution may not be ideally suited to the computer's display (i.e. laptop LCD resolution) and result in a poor viewing experience for the computer's user.
In a common presentation environment where a network projector and a laptop are used, both devices are located within the same room nearby a presenter. The presenting user desires the use of his laptop as he is comfortable with the keyboard and track-pad controls it provides, and the projector display surface may be at his back. As such, it would be advantageous if a remote desktop connection between the projector and the laptop could simultaneously provide the remote desktop for display output on the projector along with a view of the same output on the local screen of the host computer. In this way, the high performance remote desktop solution could be used and the presenting user could keep focus on his laptop screen, as is customary, instead of looking at the projection screen.